<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 统计
        // var arr = [2,1,3,2,1,2,1,3,4,5,4] ;
        //   思路：
        //      拿第一个数出来   与所有的值进行比较
        // var j = 0 ;
        // for(var i = 0 ; i < arr.length ; i++) {
        //     if(arr[0] === arr[i]) {
        //         j++ ;
        //     }
        // }

        // console.log(arr[0] + '出现了' + j + '次');

        // // 拿第二个数出来
        // var j = 0 ;
        // for(var i = 0 ; i < arr.length ; i++) {
        //     if(arr[1] === arr[i]) {
        //         j++ ;
        //     }
        // }

        // console.log(arr[1] + '出现了' + j + '次');



        // for(var k = 0 ; k < arr.length ; k++) {   // 比较的次数
        //     var j = 0 ;   // 统计
        //     for(var i = 0 ; i < arr.length ; i++) {
        //         if(arr[k] === arr[i]) {
        //             j++ ;
        //         }
        //     }

        //     console.log(arr[k] + '出现了' + j + '次');
        // }
        // 以上方法会出现重复统计



        // 方法2 提升   --- 先去重再统计
        // var arr = [2,1,3,2,1,2,1,3,4,5,4,4,4] ;
        // // 先把不重复的数字取出来   2 1 3 4 5   存入新数组
        // // 拿新数组中的每一个值与原数组比较

        // var arr2 = noRepeat(arr) ;
        // console.log(arr2);

        // // 遍历新数组
        // for(var i = 0 ; i < arr2.length ; i++) {
        //     // 遍历原数组
        //     var count = 0 ;   // 每一次拿新数组中的值的时候，计数器都要清0
        //     for(var j = 0 ; j < arr.length ; j++) {
        //         if(arr2[i] === arr[j]) {
        //             count++ ;
        //         }
        //     }
        //     console.log(arr2[i] + '出现了' + count + '次');
        // }




        // 方法3   重复一个就删除一个，且统计一下
        var arr = [2,1,3,2,1,2,1,3,4,5,4,4,4] ;
        // 拿一个跟后面的比较


        // 每次拿一个值
        for(var i = 0 ; i < arr.length ; i++) {
            // 与后面所有的值进行比较
            var count = 1 ;
            for(var j = i + 1 ; j < arr.length ; j++) {
                if(arr[i] === arr[j]) {
                    arr.splice(j , 1) ;
                    j-- ;  // 数组塌陷
                    count++ ;  // 统计
                }
            }
            console.log(arr[i] + '出现了' + count + '次');
        }






        // 小结
        //   得到新的数组
        //   直接改变原数组

        //   数组塌陷  























         function noRepeat(arr) {
            var newArr = [] ;
            for(var v of arr) {
                if(newArr.indexOf(v) === -1) {
                    newArr.push(v) ;
                }
            }
            return newArr ;
        }


    </script>
    
</body>
</html>